﻿using System;
using System.Runtime.Serialization;

namespace ExplorerService.Common.DataContracts.Operations.OperationProgress
{
    /// <summary>
    /// Operation progress that marks the end of the operation (failure)
    /// </summary>
    [DataContract]
    public class OperationFailedDueToException : OperationProgress
    {
        /// <summary>
        /// The ID of the request that threw the exception
        /// </summary>
        [DataMember]
        public Guid FailedRequestId { get; set; }

        /// <summary>
        /// The message contained by the exception
        /// </summary>
        [DataMember]
        public string ExceptionMessage { get; set; }

        /// <summary>
        /// The state of the isolated storage file after the exception (not always provided)
        /// </summary>
        [DataMember]
        public IsolatedStorageInformation NewIsolatedStorageInformation { get; set; }
    }
}